import { useMutation, useQuery } from "react-query";
import { useRequest } from "../../utils/request";

/**
 * !获取矛盾纠纷评估接口
 * @returns
 */
export const useGetBeefRiskBySearch = (queryParams: IBeefRiskSearchParams) => {
  const request = useRequest<IRisk>();
  return useQuery(["getBeefRisk", queryParams], () =>
    request("/risk/getBeefRisk", { data: queryParams })
  );
};

/**
 * ! 添加矛盾纠纷评估接口
 * @returns
 */
export const useAddBeefRisk = () => {
  const request = useRequest<string>();
  return useMutation(async (params: IAddBeefRisk) => {
    const result = request("/risk/addBeefRisk", {
      data: params,
      method: "PUT",
    });
    return result;
  });
};

/**
 * ! 修改矛盾纠纷评估接口
 * @returns
 */
export const useUpdateBeefRiskById = () => {
  const request = useRequest<string>();
  return useMutation(async (params: IUpdateBeefRisk) => {
    const result = request("/risk/updateBeefRiskById", {
      data: params,
      method: "POST",
    });
    return result;
  });
};

/**
 * !删除矛盾纠纷评估接口
 */
export const useDeletedBeefRiskById = () => {
  const request = useRequest<string>();
  return useMutation(async (params: { beefId: string }) => {
    const result = request("/risk/deletedRiskById", {
      data: params,
      method: "DELETE",
    });
    return result;
  });
};

/**
 * 更新矛盾纠纷风险类型
 */
export type IUpdateBeefRisk = {
  riskId: string;
} & Partial<IAddBeefRisk>;

/**
 * 添加矛盾纠纷风险类型
 */
export type IAddBeefRisk = {
  /**
   * 风险等级 1=一般;2=关注;3=重点;
   */
  riskLevel: number;

  /**
   * 年龄
   */
  userAge: number;

  /**
   * 家庭收入情况/年
   */
  homeMoney: string;

  /**
   * 是否重点人员1=是;2=否
   */
  major: number;

  /**
   * 身体状态; 1=健康;2=不健康
   */
  userHealth: number;

  /**
   * 是否五失人员; 1=是;2=否
   */
  isFLost: number;

  /**
   * 当事人员是否存在自杀、自残和其他暴力倾向; 1=是;2=否
   */

  isZsZcBl: number;

  /**
   * 矛盾纠纷是否久拖不决; 1=是;2=否;
   */
  isSolve: number;

  /**
   * 关联矛盾ID
   */
  beefId: string;

  /**
   * 附件图片
   */
  imgUrls: string[];
};

/**
 * 搜索参数类型
 */
export type IBeefRiskSearchParams = {
  beefId: string;
};
/**
 * 风险类
 */
export type IRisk = {
  /**
   * 风险ID
   */
  riskId: string;

  /**
   * 风险等级 1=一般;2=关注;3=重点;
   */
  riskLevel: number;

  /**
   * 年龄
   */
  userAge: number;

  /**
   * 家庭收入情况/年
   */
  homeMoney: string;

  /**
   * 是否重点人员1=是;2=否
   */
  major: number;

  /**
   * 身体状态; 1=健康;2=不健康
   */
  userHealth: string;

  /**
   * 是否五失人员; 1=是;2=否
   */
  isFLost: number;

  /**
   * 当事人员是否存在自杀、自残和其他暴力倾向; 1=是;2=否
   */
  isZsZcBl: number;

  /**
   * 矛盾纠纷是否久拖不决; 1=是;2=否;
   */
  isSolve: number;

  /**
   * 关联矛盾ID
   */
  beefId: string;

  /**
   * 创建时间
   */
  createTime: string;

  /**
   * 更新时间
   */
  updateTime: string;

  /**
   * 附件图片
   */
  imgUrls: string[];
};
